/**************************************************************************************
 *
 * @(#) HomePageBiz.java
 * @Package com.jgdt.jgdtkasannong_university_gene_backend.biz.content.impl
 **************************************************************************************/
package com.jgdt.jgdtkasannong_university_gene_backend.biz.content;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jgdt.jgdtkasannong_university_gene_backend.common.response.PageRequest;
import com.jgdt.jgdtkasannong_university_gene_backend.dto.BaseImgDataDto;
import com.jgdt.jgdtkasannong_university_gene_backend.dto.UpdateContentDto;
import com.jgdt.jgdtkasannong_university_gene_backend.entity.base.BaseInfo;
import com.jgdt.jgdtkasannong_university_gene_backend.vo.content.excel.base.BaseImgData;
import com.jgdt.jgdtkasannong_university_gene_backend.vo.content.excel.research_achievements.data.AchievementDataVo;
import com.jgdt.jgdtkasannong_university_gene_backend.vo.content.excel.research_team.data.TeamDataVo;
import com.jgdt.jgdtkasannong_university_gene_backend.vo.content.menu_content.*;

import java.util.List;

/**
 * @description: 菜单内容-biz
 * @author: huangAn
 * @createDate: 2025/04/24
 */
public interface MenuContentBiz {

    /**
     * 大厅-table页面显示
     * @return
     */
    HallTableShowVo hallTableShow();

    /**
     * 根据菜单id查询全部字节点及内容
     * @return
     */
    List<ChildrenShowVo> childrenShow(Integer parentId);

    /**
     * 系统名称 log显示内容
     * @return
     */
    QuerySysLogNameVo querySysLogName();

    /**
     * 根据菜单id分页查询当前节点分页内容
     * @param request
     * @return
     */
    IPage<ContentGeneralVo> contentPageByMenu(PageRequest<ContentPageByMenuParameter> request);

//    /**
//     * 根据菜单id查下载模板
//     * @param response
//     * @param menuId
//     */
//    void downloadByMenu(HttpServletResponse response,Integer menuId);

    /**
     * 根据 科研团队 模板数据更新db
     * @param teamDataVo
     */
    List<UpdateContentDto> teamDataVoChangeDb(TeamDataVo teamDataVo, Integer menuId);

    /**
     * 执行新增更新操作
     */
    void updateContentDto(List<UpdateContentDto> updateContentDtos);
    /**
     * 根据 科研成果 模板数据更新db
     * @param achievementDataVo
     */
    List<UpdateContentDto> achievementVoChangeDb(AchievementDataVo achievementDataVo, Integer menuId);

    /**
     * 根据 基地数据 模板数据更新db
     * @param achievementDataVo
     */
    BaseImgDataDto baseImgChangeDb(List<BaseImgData> baseImgDats, Integer menuId);

    /**
     * 校验根据菜单id查询对应的基地数据
     * @param menuId
     * @return
     */
    List<BaseInfo> checkBaseInfoByMenuId(Integer menuId);
}




